home *** CD-ROM | disk | FTP | other *** search
/ MacWorld Secrets (4th Edition) / Mac Secrets CD 4th Ed.toast / Shareware & Freeware / KeyQuencer 1.2.2 / Developer’s toolkit / Common code / KQGestalt.h < prev    next >
Text File  |  1995-12-16  |  2KB  |  57 lines

  1. // =============================================================================
  2. // KEYQUENCER GESTALT HEADER - VERSION 1.2.2 - DECEMBER 1995
  3. // By Alessandro Levi Montalcini <alm@torino.alpcom.it>
  4. // ©1994-96 Binary Software, Inc. <binarysoft@eworld.com>
  5. // This text looks best in monaco 9 font, 4 spaces per tab, no wrapping
  6. //==============================================================================
  7. #pragma once
  8. #ifndef _H_kqgestalt
  9. #define _H_kqgestalt
  10.  
  11. #include "Extension.h"
  12. #include "INITGestalt.h"
  13. //==============================================================================
  14. #if GENERATINGPOWERPC
  15. #pragma options align=mac68k
  16. #endif
  17. //==============================================================================
  18. // KEYQUENCER GESTALT RECORD (COMMERCIAL VERSIONS):
  19. // Starting from KQ 2.0b2, Gestalt returns a pointer to an INITGestalt structure
  20. // that contains a GluePtr in the igRefCon field.
  21.  
  22. #define kKQ20GestaltSelector    'KQen'        // returns a pointer to an INITGestalt record
  23.  
  24. #define GET_KQ20_GLUE(gestaltResponse) ((GluePtr)((INITGestaltRecPtr)(gestaltResponse))->igRefCon)
  25.  
  26. // =============================================================================
  27. // KEYQUENCER GESTALT RECORD (SHAREWARE VERSIONS):
  28. // In all previous shareware and beta versions (1.0 to 1.2.2, 1.3b1 to 2.0b1),
  29. // Gestalt returned a pointer to the KQGestaltRec data structure.
  30.  
  31. #define kKQ12GestaltSelector    'KQue'        // returns a pointer to the structure below
  32. #define kKQ12GestaltVersion        1            // values from 1 to 4 are always OK
  33.  
  34. typedef struct {
  35.     long        kqSignature;                // must be kKQ12GestaltSelector
  36.     short        kqGestaltVersion;            // must be >= kKQ12GestaltVersion
  37.     short        kqReservedField;            // reserved
  38.     GluePtr        *glueRecPtr;                // pointer to the GlueRecPtr
  39. } KQGestaltRec, *KQGestaltPtr;                // record (defined in Extension.h)
  40.  
  41. #define GET_KQ12_GLUE(gestaltResponse) (*((KQGestaltPtr)(gestaltResponse))->glueRecPtr)
  42.  
  43. //==============================================================================
  44. // UTILITY ROUTINES IN KQGESTALT.C:
  45.  
  46. GluePtr GetKeyQuencerGlue(void);
  47.  
  48. // =============================================================================
  49. #if GENERATINGPOWERPC
  50. #pragma options align=reset
  51. #endif
  52. //==============================================================================
  53.  
  54. #endif  // kqgestalt.h
  55.  
  56. // =============================================================================
  57.